{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# VQE on Aer simulator with noise\n",
    "\n",
    "This notebook demonstrates using the [Qiskit Aer](https://qiskit.org/documentation/the_elements.html#aer) `qasm_simulator` to run a simulation with noise, based on a given noise model. This can be useful to investigate behavior under different noise conditions. Aer not only allows you to define your own custom noise model, but also allows a noise model to be easily created based on the properties of a real quantum device. The latter is what this notebook will demonstrate since the goal is to show VQE with noise and not the more complex task of how to build custom noise models.\n",
    "\n",
    "[Qiskit Ignis](https://qiskit.org/documentation/the_elements.html#ignis) provides a solution to mitigate the measurement error when running on a noisy simulation or a real quantum device. This solution is leveraged by the `QuantumInstance` module which allows any algorithm using it to automatically have measurement noise mitigation applied.\n",
    "\n",
    "Further information on Qiskit Aer noise model can be found in the online [Qiskit Aer documentation](https://qiskit.org/documentation/apidoc/aer_noise.html), also there is tutorial for [building noise models](../simulators/3_building_noise_models.ipynb).\n",
    "\n",
    "Further information on  measurement error mitigation in Qiskit Ignis can be found in the tutorial for [measurement error mitigation](https://qiskit.org/documentation/tutorials/noise/3_measurement_error_mitigation.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pylab\n",
    "\n",
    "from qiskit import Aer\n",
    "from qiskit.aqua import QuantumInstance, aqua_globals\n",
    "from qiskit.aqua.algorithms import VQE, NumPyMinimumEigensolver\n",
    "from qiskit.aqua.components.optimizers import SPSA\n",
    "from qiskit.circuit.library import TwoLocal\n",
    "from qiskit.aqua.operators import I, X, Z"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Noisy simulation will be demonstrated here with VQE, finding the minimum (ground state) energy of an Hamiltonian, but the technique applies to any quantum algorithm from Qiskit Aqua.\n",
    "\n",
    "So for VQE we need a qubit operator as input. Here, once again, we will take a set of paulis that were originally computed by Qiskit Chemistry, for an H2 molecule, so we can quickly create an Operator."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Number of qubits: 2\n"
     ]
    }
   ],
   "source": [
    "H2_op = (-1.052373245772859 * I ^ I) + \\\n",
    "        (0.39793742484318045 * I ^ Z) + \\\n",
    "        (-0.39793742484318045 * Z ^ I) + \\\n",
    "        (-0.01128010425623538 * Z ^ Z) + \\\n",
    "        (0.18093119978423156 * X ^ X)\n",
    "\n",
    "print(f'Number of qubits: {H2_op.num_qubits}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As the above problem is still easily tractable classically we can use NumPyMinimumEigensolver to compute a reference value so we can compare later the results. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reference value: -1.85728\n"
     ]
    }
   ],
   "source": [
    "npme = NumPyMinimumEigensolver()\n",
    "result = npme.compute_minimum_eigenvalue(operator=H2_op)\n",
    "ref_value = result.eigenvalue.real\n",
    "print(f'Reference value: {ref_value:.5f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Performance *without* noise\n",
    "\n",
    "First we will run on the simulator without adding noise to see the result. I have created the backend and QuantumInstance, which holds the backend as well as various other run time configuration, which are defaulted here, so it easy to compare when we get to the next section where noise is added. There is no attempt to mitigate noise or anything in this notebook so the latter setup and running of VQE is identical."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "VQE on Aer qasm simulator (no noise): -1.85464\n",
      "Delta from reference energy value is 0.00264\n"
     ]
    }
   ],
   "source": [
    "seed = 170\n",
    "iterations = 125\n",
    "aqua_globals.random_seed = seed\n",
    "backend = Aer.get_backend('qasm_simulator')\n",
    "qi = QuantumInstance(backend=backend, seed_simulator=seed, seed_transpiler=seed) \n",
    "\n",
    "counts = []\n",
    "values = []\n",
    "def store_intermediate_result(eval_count, parameters, mean, std):\n",
    "    counts.append(eval_count)\n",
    "    values.append(mean)\n",
    "\n",
    "var_form = TwoLocal(rotation_blocks='ry', entanglement_blocks='cz')\n",
    "spsa = SPSA(maxiter=iterations)\n",
    "vqe = VQE(var_form=var_form, optimizer=spsa, callback=store_intermediate_result, quantum_instance=qi)\n",
    "result = vqe.compute_minimum_eigenvalue(operator=H2_op)\n",
    "print(f'VQE on Aer qasm simulator (no noise): {result.eigenvalue.real:.5f}')\n",
    "print(f'Delta from reference energy value is {(result.eigenvalue.real - ref_value):.5f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We captured the energy values above during the convergence so we can see what went on in the graph below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Convergence with no noise')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pylab.rcParams['figure.figsize'] = (12, 4)\n",
    "pylab.plot(counts, values)\n",
    "pylab.xlabel('Eval count')\n",
    "pylab.ylabel('Energy')\n",
    "pylab.title('Convergence with no noise')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Performance *with* noise\n",
    "\n",
    "Now we will add noise. Here we will create a noise model for Aer from an actual device. You can create custom noise models with Aer but that goes beyond the scope of this notebook. Links to further information on Aer noise model, for those that may be interested in doing this, were given above.\n",
    "\n",
    "First we need to get an actual device backend and from its `configuration` and `properties` we can setup a coupling map and a noise model to match the device. While we could leave the simulator with the default all to all map, this shows how to set the coupling map too. Note: We can also use this coupling map as the entanglement map for the variational form if we choose.\n",
    "\n",
    "Note: simulation with noise will take longer than without noise.\n",
    "\n",
    "Terra Mock Backends:\n",
    "\n",
    "We will use real noise data for an IBM Quantum device using the date stored in Qiskit Terra. Specifically, in this tutorial, the device is ibmq_vigo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "NoiseModel:\n",
      "  Basis gates: ['cx', 'id', 'u2', 'u3']\n",
      "  Instructions with noise: ['u2', 'cx', 'id', 'u3', 'measure']\n",
      "  Qubits with noise: [0, 1, 2, 3, 4]\n",
      "  Specific qubit errors: [('id', [0]), ('id', [1]), ('id', [2]), ('id', [3]), ('id', [4]), ('u2', [0]), ('u2', [1]), ('u2', [2]), ('u2', [3]), ('u2', [4]), ('u3', [0]), ('u3', [1]), ('u3', [2]), ('u3', [3]), ('u3', [4]), ('cx', [0, 1]), ('cx', [1, 0]), ('cx', [1, 2]), ('cx', [1, 3]), ('cx', [2, 1]), ('cx', [3, 1]), ('cx', [3, 4]), ('cx', [4, 3]), ('measure', [0]), ('measure', [1]), ('measure', [2]), ('measure', [3]), ('measure', [4])]\n",
      "\n",
      "VQE on Aer qasm simulator (with noise): -1.83519\n",
      "Delta from reference energy value is 0.02208\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "from qiskit.providers.aer import QasmSimulator\n",
    "from qiskit.providers.aer.noise import NoiseModel\n",
    "from qiskit.test.mock import FakeVigo\n",
    "device_backend = FakeVigo()\n",
    "\n",
    "backend = Aer.get_backend('qasm_simulator')\n",
    "counts1 = []\n",
    "values1 = []\n",
    "noise_model = None\n",
    "os.environ['QISKIT_IN_PARALLEL'] = 'TRUE'\n",
    "device = QasmSimulator.from_backend(device_backend)\n",
    "coupling_map = device.configuration().coupling_map\n",
    "noise_model = NoiseModel.from_backend(device)\n",
    "basis_gates = noise_model.basis_gates\n",
    "\n",
    "print(noise_model)\n",
    "print()\n",
    "\n",
    "aqua_globals.random_seed = seed\n",
    "qi = QuantumInstance(backend=backend, seed_simulator=seed, seed_transpiler=seed,\n",
    "                     coupling_map=coupling_map, noise_model=noise_model,)\n",
    "\n",
    "def store_intermediate_result1(eval_count, parameters, mean, std):\n",
    "    counts1.append(eval_count)\n",
    "    values1.append(mean)\n",
    "\n",
    "var_form = TwoLocal(rotation_blocks='ry', entanglement_blocks='cz')\n",
    "spsa = SPSA(maxiter=iterations)\n",
    "vqe = VQE(var_form=var_form, optimizer=spsa, callback=store_intermediate_result1, quantum_instance=qi)\n",
    "result1 = vqe.compute_minimum_eigenvalue(operator=H2_op)\n",
    "print(f'VQE on Aer qasm simulator (with noise): {result1.eigenvalue.real:.5f}')\n",
    "print(f'Delta from reference energy value is {(result1.eigenvalue.real - ref_value):.5f}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "if counts1 or values1:\n",
    "    pylab.rcParams['figure.figsize'] = (12, 4)\n",
    "    pylab.plot(counts1, values1)\n",
    "    pylab.xlabel('Eval count')\n",
    "    pylab.ylabel('Energy')\n",
    "    pylab.title('Convergence with noise')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Performance *with* noise and measurement error mitigation\n",
    "\n",
    "Now we will add method for measurement error mitigation, which increases the fidelity of measurement. Here we choose `CompleteMeasFitter` to mitigate the measurement error. The calibration matrix will be auto-refresh every 30 minute (default value).\n",
    "\n",
    "Note: simulation with noise will take longer than without noise."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "VQE on Aer qasm simulator (with noise and measurement error mitigation): -1.85490\n",
      "Delta from reference energy value is 0.00237\n"
     ]
    }
   ],
   "source": [
    "from qiskit.ignis.mitigation.measurement import CompleteMeasFitter\n",
    "\n",
    "counts2 = []\n",
    "values2 = []\n",
    "if noise_model is not None:\n",
    "    aqua_globals.random_seed = seed\n",
    "    qi = QuantumInstance(backend=backend, seed_simulator=seed, seed_transpiler=seed,\n",
    "                         coupling_map=coupling_map, noise_model=noise_model, \n",
    "                         measurement_error_mitigation_cls=CompleteMeasFitter, \n",
    "                         cals_matrix_refresh_period=30)\n",
    "\n",
    "    def store_intermediate_result2(eval_count, parameters, mean, std):\n",
    "        counts2.append(eval_count)\n",
    "        values2.append(mean)\n",
    "\n",
    "    var_form = TwoLocal(rotation_blocks='ry', entanglement_blocks='cz')\n",
    "    spsa = SPSA(maxiter=iterations)\n",
    "    vqe = VQE(var_form=var_form, optimizer=spsa, callback=store_intermediate_result2, quantum_instance=qi)\n",
    "    result2 = vqe.compute_minimum_eigenvalue(operator=H2_op)\n",
    "    print(f'VQE on Aer qasm simulator (with noise and measurement error mitigation): {result2.eigenvalue.real:.5f}')\n",
    "    print(f'Delta from reference energy value is {(result2.eigenvalue.real - ref_value):.5f}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "if counts2 or values2:\n",
    "    pylab.rcParams['figure.figsize'] = (12, 4)\n",
    "    pylab.plot(counts2, values2)\n",
    "    pylab.xlabel('Eval count')\n",
    "    pylab.ylabel('Energy')\n",
    "    pylab.title('Convergence with noise, measurement error mitigation enabled')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Lets bring the results together here for a summary. \n",
    "\n",
    "We produced a reference value using a classical algorithm and then proceeded to run VQE on a qasm simulator. While the simulation is ideal (no noise) there is so called shot-noise due to sampling - increasing the number of shots reduces this as more and more samples are taken, but shots was left at the default of 1024 and we see a small effect in the outcome. \n",
    "\n",
    "Then we added noise using a model taken off a real device and can see the result is affected. Finally we added measurement noise mitigation which adjusts the results in an attempt to alleviate the affect of noise in the classical equipment measuring the qubits."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Reference value: -1.85728\n",
      "VQE on Aer qasm simulator (no noise): -1.85464\n",
      "VQE on Aer qasm simulator (with noise): -1.83519\n",
      "VQE on Aer qasm simulator (with noise and measurement error mitigation): -1.85490\n"
     ]
    }
   ],
   "source": [
    "print(f'Reference value: {ref_value:.5f}')\n",
    "print(f'VQE on Aer qasm simulator (no noise): {result.eigenvalue.real:.5f}')\n",
    "print(f'VQE on Aer qasm simulator (with noise): {result1.eigenvalue.real:.5f}')\n",
    "print(f'VQE on Aer qasm simulator (with noise and measurement error mitigation): {result2.eigenvalue.real:.5f}')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h3>Version Information</h3><table><tr><th>Qiskit Software</th><th>Version</th></tr><tr><td>Qiskit</td><td>None</td></tr><tr><td>Terra</td><td>0.16.1</td></tr><tr><td>Aer</td><td>0.7.1</td></tr><tr><td>Ignis</td><td>0.5.1</td></tr><tr><td>Aqua</td><td>0.8.1</td></tr><tr><td>IBM Q Provider</td><td>0.11.1</td></tr><tr><th>System information</th></tr><tr><td>Python</td><td>3.7.4 (default, Aug 13 2019, 15:17:50) \n",
       "[Clang 4.0.1 (tags/RELEASE_401/final)]</td></tr><tr><td>OS</td><td>Darwin</td></tr><tr><td>CPUs</td><td>2</td></tr><tr><td>Memory (Gb)</td><td>12.0</td></tr><tr><td colspan='2'>Tue Nov 17 17:49:42 2020 EST</td></tr></table>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div style='width: 100%; background-color:#d5d9e0;padding-left: 10px; padding-bottom: 10px; padding-right: 10px; padding-top: 5px'><h3>This code is a part of Qiskit</h3><p>&copy; Copyright IBM 2017, 2020.</p><p>This code is licensed under the Apache License, Version 2.0. You may<br>obtain a copy of this license in the LICENSE.txt file in the root directory<br> of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.<p>Any modifications or derivative works of this code must retain this<br>copyright notice, and modified files need to carry a notice indicating<br>that they have been altered from the originals.</p></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import qiskit.tools.jupyter\n",
    "%qiskit_version_table\n",
    "%qiskit_copyright"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
